import * as THREE from 'three';

export class Background {
  constructor(scene) {
    this.scene = scene;
    this.url = "../../src/assets/black-bg.png";

    this.init();
  }

  // 创建天空盒
  init() {
    // 创建一个纹理加载器
    const loader = new THREE.TextureLoader();

    // 创建一个球体几何体，半径为5000，水平分段数为32，垂直分段数为32，水平分段的意思是，将球体水平方向分成32个部分，垂直分段的意思是将球体垂直方向分成32个部分
    const geometry = new THREE.SphereGeometry(5000, 32, 32);

    // 创建一个材质，使用纹理加载器加载纹理
    const material = new THREE.MeshBasicMaterial({
      side: THREE.BackSide,
      map: loader.load(this.url),
    });
    // 创建一个网格，将几何体和材质组合在一起
    const sphere = new THREE.Mesh(geometry, material);

    // 将球体的位置设置为(0,0,0)
    sphere.position.copy({
      x: 0,
      y: 0,
      z: 0,
    });

    this.scene.add(sphere);
  }
}